/*
 * WordQuery.h
 *  全私有
 *  Created on: 2020年12月13日
 *      Author: san
 */

#ifndef WORDQUERY_H_
#define WORDQUERY_H_

#include <iostream>

#include "Querybase.h"
#include "TextQuery.h"

class WordQuery: public Query_base {  // 这里必须是公有继承，不然报错no type named ‘type’ in ‘struct std::enable_if<false, void>’  share——ptr
	friend class Query;  // Query适用WordQuery构造函数
	WordQuery(const std::string &s): query_word(s) { std::cout << "WordQuery(const std::string &s)" << std::endl;}
	TextQuery::QueryResult eval(const TextQuery &t) override
			{ return t.query(query_word); }
	std::string rep() const override { std::cout << "WordQuery::rep()" << std::endl; return query_word; }
	std::string query_word;  // 需要查找的单词

};

#endif /* WORDQUERY_H_ */
